/**
 * const
 * 作用: 声明常量, 常量就是值(内存地址)不能修改的量
 *
 * 具有块级作用域
 * 声明常量时必须赋值
 * 常量赋值后, 值不能修改    --> 类似Java中 final 关键字声明常量
 */

// 使用const关键字声明的常量具有块级作用域
if (true) {
    const a = 3;
}
// console.log(a)   // ReferenceError: a is not defined

// const PI;   // SyntaxError: Missing initializer in const declaration

// 常量声明后的值不能修改
const PI = 3.14;
// PI = 100;       // TypeError: Assignment to constant variable.

const ary = [100, 200];
// 常量 ary数组内部的值可以修改, 但是不能重新给ary赋值
ary[0] = 12;
ary[1] = 10;
console.log(ary)    // [ 12, 10 ]

// ary = [12, 23];  // TypeError: Assignment to constant variable.
 
